System And Method For Enhancing Voice-Enabled Search Based On Automated Demographic Identification

ABSTRACT

Disclosed herein are systems, methods, and non-transitory computer-readable storage media for approximating responses to a user speech query in voice-enabled search based on metadata that include demographic features of the speaker. A system practicing the method recognizes received speech from a speaker to generate recognized speech, identifies metadata about the speaker from the received speech, and feeds the recognized speech and the metadata to a question-answering engine. Identifying the metadata about the speaker is based on voice characteristics of the received speech. The demographic features can include age, gender, socio-economic group, nationality, and/or region. The metadata identified about the speaker from the received speech can be combined with or override self-reported speaker demographic information.

CROSS-REFERENCE TO RELATED APPLICATIONS

The present application is a continuation of U.S. patent applicationSer. No. 14/877,709, filed Oct. 7, 2015, which is in turn a continuationof U.S. patent application Ser. No. 13/847,173, filed Mar. 19, 2013,which is in turn a continuation of U.S. patent application Ser. No.12/888,012, filed Sep. 22, 2010, the contents of which are herebyincorporated in their entirety.

BACKGROUND 1. Technical Field

The present disclosure relates to search in a database and morespecifically to voice-enabled search based on metadata.

2. Introduction

One of the most important aspects of voice-enabled search is its abilityto accurately receive and recognize speech and generate an appropriateresponse. What constitutes an appropriate response is a difficultquestion to answer and appropriate responses may vary according theindividual needs of different users making a search query. Anappropriate response to one user may not be as useful to another evenwhen their search queries are exactly identical. Thus, it is oftenbeneficial to have as much information about the user who is making asearch query in order to provide him or her with the most relevantresponse. One approach to solving this problem is to ask additionalquestions to gather more information such as age, gender, location, etc.However, asking more questions is a costly effort both in terms of timeand money. The users may also be annoyed by a barrage of questions thatpertain to personal information out of privacy concerns.

SUMMARY

Additional features and advantages of the disclosure will be set forthin the description which follows, and in part will be obvious from thedescription, or can be learned by practice of the herein disclosedprinciples. The features and advantages of the disclosure can berealized and obtained by means of the instruments and combinationsparticularly pointed out in the appended claims. These and otherfeatures of the disclosure will become more fully apparent from thefollowing description and appended claims, or can be learned by thepractice of the principles set forth herein.

Disclosed are systems, methods, and non-transitory computer-readablestorage media for generating responses to users in voice-enabledsearches using metadata. A voice-enabled search system recognizes speechuttered by a user such as a query. The metadata are extracted from theuser's speech and can contain information about the user's demographicidentification such as age, gender, nationality, region, socio-economicgroup. Such data in turn increase the likelihood of approximating morerelevant responses to user speech queries. The recognized speech and themetadata are fed into a question-answering engine and thequestion-answering engine returns one or more responses back to theuser.

BRIEF DESCRIPTION OF THE DRAWINGS

In order to describe the manner in which the above-recited and otheradvantages and features of the disclosure can be obtained, a moreparticular description of the principles briefly described above will berendered by reference to specific embodiments thereof which areillustrated in the appended drawings. Understanding that these drawingsdepict only exemplary embodiments of the disclosure and are nottherefore to be considered to be limiting of its scope, the principlesherein are described and explained with additional specificity anddetail through the use of the accompanying drawings in which:

FIG. 1 illustrates an example system embodiment;

FIG. 2 is a functional block diagram that illustrates an exemplarynatural language spoken dialog system;

FIG. 3 illustrates an exemplary voice-enabled search system withsupporting infrastructure for extracting and incorporating metadata; and

FIG. 4 illustrates an example method embodiment.

DETAILED DESCRIPTION

Various embodiments of the disclosure are discussed in detail below.While specific implementations are discussed, it should be understoodthat this is done for illustration purposes only. A person skilled inthe relevant art will recognize that other components and configurationsmay be used without parting from the spirit and scope of the disclosure.

The present disclosure addresses the need in the art for approximating aresponse to a speech query in voice-enabled search. A system, method andnon-transitory computer-readable media are disclosed which approximateone or more relevant responses to a speech query based on metadataanalysis. A discussion of a basic general purpose system or computingdevice in FIG. 1 which can be employed to practice the concepts isdisclosed herein. Then the disclosure discusses at a high level thenatural language dialog system shown in FIG. 2. A more detaileddescription of the method and various embodiments will then follow. Thedisclosure now turns to FIG. 1.

With reference to FIG. 1, an exemplary system 100 includes ageneral-purpose computing device 100, including a processing unit (CPUor processor) 120 and a system bus 110 that couples various systemcomponents including the system memory 130 such as read only memory(ROM) 140 and random access memory (RAM) 150 to the processor 120. Thesystem 100 can include a cache 122 of high speed memory connecteddirectly with, in close proximity to, or integrated as part of theprocessor 120. The system 100 copies data from the memory 130 and/or thestorage device 160 to the cache 122 for quick access by the processor120. In this way, the cache 122 provides a performance boost that avoidsprocessor 120 delays while waiting for data. These and other modules canbe configured to control the processor 120 to perform various actions.Other system memory 130 may be available for use as well. The memory 130can include multiple different types of memory with differentperformance characteristics. It can be appreciated that the disclosuremay operate on a computing device 100 with more than one processor 120or on a group or cluster of computing devices networked together toprovide greater processing capability. The processor 120 can include anygeneral purpose processor and a hardware module or software module, suchas module 1 162, module 2 164, and module 3 166 stored in storage device160, configured to control the processor 120 as well as aspecial-purpose processor where software instructions are incorporatedinto the actual processor design. The processor 120 may essentially be acompletely self-contained computing system, containing multiple cores orprocessors, a bus, memory controller, cache, etc. A multi-core processormay be symmetric or asymmetric.

The system bus 110 may be any of several types of bus structuresincluding a memory bus or memory controller, a peripheral bus, and alocal bus using any of a variety of bus architectures. A basicinput/output (BIOS) stored in ROM 140 or the like, may provide the basicroutine that helps to transfer information between elements within thecomputing device 100, such as during start-up. The computing device 100further includes storage devices 160 such as a hard disk drive, amagnetic disk drive, an optical disk drive, tape drive or the like. Thestorage device 160 can include software modules 162, 164, 166 forcontrolling the processor 120. Other hardware or software modules arecontemplated. The storage device 160 is connected to the system bus 110by a drive interface. The drives and the associated computer readablestorage media provide nonvolatile storage of computer readableinstructions, data structures, program modules and other data for thecomputing device 100. In one aspect, a hardware module that performs aparticular function includes the software component stored in anon-transitory computer-readable medium in connection with the necessaryhardware components, such as the processor 120, bus 110, display 170,and so forth, to carry out the function. The basic components are knownto those of skill in the art and appropriate variations are contemplateddepending on the type of device, such as whether the device 100 is asmall, handheld computing device, a desktop computer, or a computerserver.

Although the exemplary embodiment described herein employs the hard disk160, it should be appreciated by those skilled in the art that othertypes of computer readable media which can store data that areaccessible by a computer, such as magnetic cassettes, flash memorycards, digital versatile disks, cartridges, random access memories(RAMs) 150, read only memory (ROM) 140, a cable or wireless signalcontaining a bit stream and the like, may also be used in the exemplaryoperating environment. Non-transitory computer-readable storage mediaexpressly exclude media such as energy, earner signals, electromagneticwaves, and signals per se.

To enable user interaction with the computing device 100, an inputdevice 190 represents any number of input mechanisms, such as amicrophone for speech, a touch-sensitive screen for gesture or graphicalinput, keyboard, mouse, motion input, speech and so forth. An outputdevice 170 can also be one or more of a number of output mechanismsknown to those of skill in the art. In some instances, multimodalsystems enable a user to provide multiple types of input to communicatewith the computing device 100. The communications interface 180generally governs and manages the user input and system output. There isno restriction on operating on any particular hardware arrangement andtherefore the basic features here may easily be substituted for improvedhardware or firmware arrangements as they are developed.

For clarity of explanation, the illustrative system embodiment ispresented as including individual functional blocks including functionalblocks labeled as a “processor” or processor 120. The functions theseblocks represent may be provided through the use of either shared ordedicated hardware, including, but not limited to, hardware capable ofexecuting software and hardware, such as a processor 120, that ispurpose-built to operate as an equivalent to software executing on ageneral purpose processor. For example the functions of one or moreprocessors presented in FIG. 1 may be provided by a single sharedprocessor or multiple processors. (Use of the term “processor” shouldnot be construed to refer exclusively to hardware capable of executingsoftware.) Illustrative embodiments may include microprocessor and/ordigital signal processor (DSP) hardware, read-only memory (ROM) 140 forstoring software performing the operations discussed below, and randomaccess memory (RAM) 150 for storing results. Very large scaleintegration (VLSI) hardware embodiments, as well as custom VLSIcircuitry in combination with a general purpose DSP circuit, may also beprovided.

The logical operations of the various embodiments are implemented as:(1) a sequence of computer implemented steps, operations, or proceduresrunning on a programmable circuit within a general use computer, (2) asequence of computer implemented steps, operations, or proceduresrunning on a specific-use programmable circuit; and/or (3)interconnected machine modules or program engines within theprogrammable circuits. The system 100 shown in FIG. 1 can practice allor part of the recited methods, can be a part of the recited systems,and/or can operate according to instructions in the recitednon-transitory computer-readable storage media. Such logical operationscan be implemented as modules configured to control the processor 120 toperform particular functions according to the programming of the module.For example, FIG. 1 illustrates three modules Mod1 162, Mod2 164 andMod3 166 which are modules configured to control the processor 120.These modules may be stored on the storage device 160 and loaded intoRAM 150 or memory 130 at runtime or may be stored as would be known inthe art in other computer-readable memory locations.

Having disclosed some basic computing device components, the discussionnow turns to the exemplary spoken dialog system. FIG. 2 is a functionalblock diagram that illustrates an exemplary natural language spokendialog system. Spoken dialog systems aim to identify intents of humans,expressed in natural language, and take actions accordingly, to satisfytheir requests. Natural language spoken dialog system 200 can include anautomatic speech recognition (ASR) module 202, a spoken languageunderstanding (SLU) module 204, a dialog management (DM) module 206, aspoken language generation (SLG) module 208, and a text-to-speech (TTS)module 210. The TTS module 210 can be replaced by a more genericsynthesizing (SM) module which can synthesize speech in other ways thantext-to-speech. The synthesizing module can be any type of speech outputmodule. For example, it can be a module wherein one prerecorded speechsegment is selected and played to a user. Thus, the synthesizing modulerepresents any type of speech output. The present disclosure focuses oninnovations related to the ASR module 202 and can also relate to othercomponents of the dialog system.

The ASR module 202 analyzes speech input and provides a textualtranscription of the speech input as output. SLU module 204 can receivethe transcribed input and can use a natural language understanding modelto analyze the group of words that are included in the transcribed inputto derive a meaning from the input. The role of the DM module 206 is tointeract in a natural way and help the user to achieve the task that thesystem is designed to support. The DM module 206 receives the meaning ofthe speech input from the SLU module 204 and determines an action, suchas, for example, providing a response, based on the input. The SLGmodule 208 generates a transcription of one or more words in response tothe action provided by the DM 206. The synthesizing module 210 receivesthe transcription as input and provides generated audible speech asoutput based on the transcribed speech. Speech can be producedtext-to-speech, unit selection, or other known mechanism for producingspeech.

Thus, the modules of system 200 recognize speech input, such as speechutterances, transcribe the speech input, identify (or understand) themeaning of the transcribed speech, determine an appropriate response tothe speech input, generate text of the appropriate response and fromthat text, generate audible “speech” from system 200, which the userthen hears. In this manner, the user can carry on a natural languagedialog with system 200. Those of ordinary skill in the art willunderstand the programming languages for generating and training ASRmodule 202 or any of the other modules in the spoken dialog system.Further, the modules of system 200 can operate independent of a fulldialog system. For example, a computing device such as a smartphone (orany processing device having a phone capability) can include an ASRmodule wherein a user says “call mom” and the smartphone acts on theinstruction without a “spoken dialog.”

Having disclosed some basic system components and ASR components, thedisclosure now turns to the exemplary voice-enabled search system 300shown in FIG. 3. In this embodiment, a user 302 utters a user speech304, which is then received by an automatic speech processor 306A and ademographic identification module 306B. The user 302 can utter thespeech 304 to a local device such as a kiosk or to a remote device overa telecommunication network such as via a cellular phone, landlinephone, Internet-enabled voice chat, and so forth. The speech processor306A and demographic identification module 306B can also receive theuser speech 304 in the form of pre-recorded audio data.

The automatic speech processor 306A recognizes the speech 304 input andoutputs a recognized speech 308. The demographic identification module306B extracts metadata 310 associated with demographic traitsextrapolated from or estimated from the speech 304. For example, a youngwoman's voice has very different characteristics than an older male'svoice. The system infers the metadata from these differentcharacteristics and other speech patterns such as accent, vocabulary,and so forth. In one embodiment, the metadata 310 describes user'sdemographic features such as age, gender, nationality, region,socio-economic group, and so forth. The demographic identificationmodule 306B obtains clues by analyzing the characteristics of thereceived speech. For example, the pitch and timbre of the speaker'svoice can provide information as to what age group the speaker belongsto and what gender the speaker is. In another example, recognizing acertain speaking style, an accent, a local dialect, vocabulary or otherphraseology can help approximating the speaker's nationality, region,socio-economic group, etc. The metadata 310 can include a confidencescore, not shown, describing how certain the system is of the inferredmetadata.

The metadata can include demographic features such as at least one ofage, gender, socio-economic group, nationality, and region. The step ofidentifying the metadata about the speaker can be based on voicecharacteristics of the received speech. Further, recognizing thereceived speech and identifying the metadata can occur in parallel.Metadata identified about the speaker from the received speech cansupplement, integrate an/or override self-reported speaker demographicinformation.

The metadata 310 thus obtained and, in one variation, the associatedconfidence scores can be fed into the question-answering engine 312 inaddition to the recognized speech 308 to produce one or more responses314. In one aspect, the question-answering engine 312 can be integratedinto the same hardware system where the automatic speech processor 306Aand demographic identification module 306B reside. In another aspect,the question-answering engine 312 can be a separate system from thespeech processor 306A and/or the demographic identification module 306B.

In generating a response 314 to the user speech 304, thequestion-answering engine 312 can refer to both the recognized speech308 and the metadata 310 to arrive at a response that is most relevantto the user's needs. For example, depending on which age group the userbelongs to, the user's query, “What kind of gift should I get for myboyfriend?” can yield varying responses: a video game for a teenager orgolf clubs for an older user, for instance. In another example, if auser inquiring about the TV station that airs a World Cup soccer game isfound to have a Latin American accent, the question-answering engine canrecommend a Spanish language channel as an alternative choice.

The question-answering engine 312 can compare the query to a database ofother users with similar metadata characteristics to determine a bestresponse. For example, if a strong correlation exists in the databasebetween the people who talk very fast and the tendency to prefercorndogs, the next time a fast-talking user makes a query about foodrecommendation the system can recommend a corndog.

Extracting demographic information from the metadata is beneficialbecause it allows approximating more appropriate and relevant responseswithout having to ask any further questions. Asking too many questionscan make the speaker feel uncomfortable or annoyed not to mention theextra time involved.

In one embodiment, one or more of the responses 314 can be relayed backto the user 302. The user can receive the responses in an audio form viavoice, in a visual form via text or combination of both.

In one embodiment, system-wide privacy policies can be put in place tocontrol collection of sensitive data. In another embodiment, thesepolicies can allow collection of personal data but restrict storing anyof the information on a permanent basis. In yet another embodiment,storing some of the sensitive data on non-transitory storage medium canbe allowed but they are scheduled to be deleted after a set period oftime according to predetermined privacy policy. The sensitive data canbe encrypted and/or anonymized so as to further protect the identity ofthe users. For example, a privacy policy can dictate whether to gatherdata on any one or more of age, gender, nationality, region,socio-economic, and so forth. Even if gathered, these data can bedesignated as “no storage” or “to be purged” to protect the privacy ofthe users. In still another embodiment, the privacy policies can beinfluenced by user preference. In other words, users can be given achoice of whether to opt in or opt out of some of the features that canpotentially infringe upon user privacy.

This disclosure now turns to the exemplary method embodiment shown inFIG. 4 for voice-enabled search using demographic identification. Forthe sake of clarity, the method is discussed in terms of an exemplarysystem 100 such as is shown in FIG. 1 configured to practice the method.The system 100 recognizes received speech from a speaker to generaterecognized speech (402).

The system 100 identifies metadata about the speaker from the receivedspeech (404). These metadata can be generated based on thecharacteristics of the speaker's voice and style of speech.

The system 100 feeds the recognized speech and the metadata to aquestion-answering engine (406). The metadata can be the demographicinformation about the speaker. For instance, the metadata can identifythat the speaker is a white female in her 50s or that the speaker is anAfrican American male in his 20s. In one respect, inferred metadata canbe blended with, complement, or invalidate other metadata the systemalready has.

The system 100 selects and outputs at least one response to the speakerbased on the recognized speech and metadata. The metadata helpsapproximate more relevant responses than the ones that are generatedwithout the aid of such additional information. Specifically, themetadata related to the demographic identification of the speaker canhelp generate responses that are more tailored and specific to thespeaker's projected needs by comparing responses to others who havesimilar voice characteristics and/or projected demographics.

Embodiments within the scope of the present disclosure may also includetangible and/or non-transitory computer-readable storage media forcarrying or having computer-executable instructions or data structuresstored thereon. Such non-transitory computer-readable storage media canbe any available media that can be accessed by a general purpose orspecial purpose computer, including the functional design of any specialpurpose processor as discussed above. By way of example, and notlimitation, such non-transitory computer-readable media can include RAM,ROM, EEPROM, CD-ROM or other optical disk storage, magnetic disk storageor other magnetic storage devices, or any other medium which can be usedto carry or store desired program code means in the form ofcomputer-executable instructions, data structures, or processor chipdesign. When information is transferred or provided over a network oranother communications connection (either hardwired, wireless, orcombination thereof) to a computer, the computer properly views theconnection as a computer-readable medium. Thus, any such connection isproperly termed a computer-readable medium. Combinations of the aboveshould also be included within the scope of the computer-readable media.

Computer-executable instructions include, for example, instructions anddata which cause a general purpose computer, special purpose computer,or special purpose processing device to perform a certain function orgroup of functions. Computer-executable instructions also includeprogram modules that are executed by computers in stand-alone or networkenvironments. Generally, program modules include routines, programs,components, data structures, objects, and the functions inherent in thedesign of special-purpose processors, etc. that perform particular tasksor implement particular abstract data types. Computer-executableinstructions, associated data structures, and program modules representexamples of the program code means for executing steps of the methodsdisclosed herein. The particular sequence of such executableinstructions or associated data structures represents examples ofcorresponding acts for implementing the functions described in suchsteps.

Those of skill in the art will appreciate that other embodiments of thedisclosure may be practiced in network computing environments with manytypes of computer system configurations, including personal computers,hand-held devices, multi-processor systems, microprocessor-based orprogrammable consumer electronics, network PCs, minicomputers, mainframecomputers, and the like. Embodiments may also be practiced indistributed computing environments where tasks are performed by localand remote processing devices that are linked (either by hardwiredlinks, wireless links, or by a combination thereof) through acommunications network. In a distributed computing environment, programmodules may be located in both local and remote memory storage devices.

The various embodiments described above are provided by way ofillustration only and should not be construed to limit the scope of thedisclosure. Those skilled in the art will readily recognize variousmodifications and changes that may be made to the principles describedherein without following the example embodiments and applicationsillustrated and described herein, and without departing from the spiritand scope of the disclosure.

What is claimed is:
 1. A method comprising: receiving recognized speech;identifying information about a speaker of the recognized speech fromthe recognized speech; identifying other users associated with thespeech recognition system; identifying metadata characteristics of theother users; and submitting the recognized speech, the information, andthe identified metadata characteristics to an engine which outputs aresponse associated with the recognized speech using the recognizedspeech, the information, and the identified metadata characteristics. 2.The method of claim 1, wherein the information comprises demographicfeatures.
 3. The method of claim 2, wherein the demographic featurescomprise one of age, gender, socio-economic group, nationality, andorigin.
 4. The method of claim 1, wherein identifying of the informationis based on voice characteristics of the recognized speech.
 5. Themethod of claim 1, wherein the engine is integrated with the speechrecognition system.
 6. The method of claim 1, further comprising storingthe information for future use.
 7. The method of claim 6, wherein thestoring of the information is performed in accordance with a privacypolicy.
 8. A system comprising: a processor; and a computer-readablestorage medium having instruction stored which, when executed by theprocessor, result in the processor performing operations comprising:receiving recognized speech; identifying information about a speaker ofthe recognized speech from the recognized speech; identifying otherusers associated with the speech recognition system; identifyingmetadata characteristics of the other users; and submitting therecognized speech, the information, and the identified metadatacharacteristics to an engine which outputs a response associated withthe recognized speech using the recognized speech, the information, andthe identified metadata characteristics.
 9. The system of claim 8,wherein the information comprises demographic features.
 10. The systemof claim 9, wherein the demographic features comprise one of age,gender, socio-economic group, nationality, and origin.
 11. The system ofclaim 8, wherein identifying of the information is based on voicecharacteristics of the recognized speech.
 12. The system of claim 8,wherein the engine is integrated with the speech recognition system. 13.The system of claim 8, the computer-readable storage medium havingadditional instructions which result in the operations furthercomprising storing the information for future use.
 14. The system ofclaim 13, wherein the storing of the information is performed inaccordance with a privacy policy.
 15. A non-transitory computer-readablestorage medium having instruction stored which, when executed by acomputing device, result in the computing device performing operationscomprising: receiving recognized speech; identifying information about aspeaker of the recognized speech from the recognized speech; identifyingother users associated with the speech recognition system; identifyingmetadata characteristics of the other users; and submitting therecognized speech, the information, and the identified metadatacharacteristics to an engine which outputs a response associated withthe recognized speech using the recognized speech, the information, andthe identified metadata characteristics.
 16. The non-transitorycomputer-readable storage medium of claim 15, wherein the informationcomprises demographic features.
 17. The non-transitory computer-readablestorage medium of claim 16, wherein the demographic features compriseone of age, gender, socio-economic group, nationality, and origin. 18.The non-transitory computer-readable storage medium of claim 15, whereinidentifying of the information is based on voice characteristics of therecognized speech.
 19. The non-transitory computer-readable storagemedium of claim 15, wherein the engine is integrated with the speechrecognition system.
 20. The non-transitory computer-readable storagemedium of claim 15, the computer-readable storage medium havingadditional instructions which result in the operations furthercomprising storing the information for future use.